home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 September / Macworld (1997-09).dmg / Serious Software / Cherwell Scientific Demos / pro Fit / pro Fit 5.0 demo (fpu).sea / pro Fit 5.0 demo (fpu) / External Modules / External modules sources / C / ProgramTemplate.c < prev    next >
Text File  |  1996-01-02  |  4KB  |  97 lines

  1. /***************************************************************************************/
  2. /* ProgramTemplate.c                                                                   */
  3. /*                                                                                        */
  4. /*                                                                                     */
  5. /* Version 15.12.95                                                                     */
  6. /***************************************************************************************/
  7.  
  8.  
  9. #include "proFit_interface.h"
  10.  
  11.  
  12.  
  13. /***************************************************************************************/
  14.  
  15. void SetUp (    short* const moduleKind,        /* set moduleKind to isFunction or isProgram */
  16.                 Str255 name,                    /* the name of the program or function (pascal string) */
  17.                 long* const requiredGlobals,    /* the number of bytes to be allocated in ExtModulesParamBlock.globals */
  18.                                                 /* set requiredGlobals to 0 if you don't use this feature */
  19.                 ExtModulesParamBlock* pb)        /* the complete parameter block passed by pro Fit to the */
  20.                                                 /* routines defined in this file. In most cases it can be ignored */
  21. /* SetUp is called once when the external module is linked to proFit */
  22. {
  23.     *moduleKind=isProgram;                /* we define a program */
  24.     SetPascalStr(name,"\p",255);        /* write its name here */
  25.     *requiredGlobals = 0;                /* leave this like it is now if you don't need to allocate global variable    */
  26.                                         /* space using a pointer.*/
  27.                                         /* set this to a pointer size if you want to use*/
  28.                                         /* the pointer "globals" provided in ExtModulesParamBlock*/
  29. }
  30.  
  31.  
  32.  
  33. /***************************************************************************************/
  34.  
  35. void InitializeProg (ExtModulesParamBlock* pb)
  36.     /* Can be left emtpy if not needed. */
  37.     /* called when the resource is linked to proFit after SetUp was called */
  38.     /* can be used to inititialize global variables, etc. */
  39. {
  40.  
  41. }
  42.  
  43. /***************************************************************************************/
  44.  
  45. void Run(ExtModulesParamBlock* pb)
  46. /* pro Fit calls this function when the name of the program is chosen from the Misc Menu*/
  47. {
  48.  
  49. }
  50.  
  51. /***************************************************************************************/
  52.  
  53. void CleanUp (ExtModulesParamBlock* pb)
  54.     /* called when the function or program is removed from pro Fit's menus */
  55.     /* in most cases, this function can be empty */
  56. {
  57.  
  58. }
  59.  
  60.  
  61. /***************************************************************************************/
  62.                         /* for functions, not used here: */
  63. /***************************************************************************************/
  64.  
  65. void InitializeFunc (
  66.                 Boolean* const hasDerivatives,    /* set this to true if you do calculate some derivatives (dyda[]) in the */
  67.                                                 /* "Derivatives" function you define. Any derivatives you don't calculate will be calculated numerically by pro Fit */
  68.                 Str255 descr1stLine,            /* first line of the text in the parameter window */
  69.                 Str255 descr2ndLine,            /* second line of the text in the parameter window */
  70.                 short* const numberOfParams,    /* the number of parameters of the function */
  71.                 DefaultParamInfo* const a0,        /* the default names, values etc. of the parameters */
  72.                 ExtModulesParamBlock* pb)        /* the complete parameter block passed by pro Fit */
  73. {}
  74.  
  75. void Func (        double x,                        /* the x-value */
  76.                 ParamArray a,                    /* the parameters */
  77.                 double* const y,                /* the y-value to be returned */
  78.                 ExtModulesParamBlock* pb)        /* the complete parameter block passed by pro Fit */
  79. {}
  80.  
  81. void Derivatives(double x,                        /* the x-value */
  82.                 ParamArray a,                    /* the parameters */
  83.                 ParamArray dyda,                /* the derivatives to be returned */
  84.                 ExtModulesParamBlock* pb)        /* the complete parameter block passed by pro Fit */
  85. {}
  86.  
  87. short Check(    short paramNo,                        /* the parameter that was changed */
  88.                 DefaultParamInfo* const a0,        /* the default names, values etc of the paramters */
  89.                 ExtModulesParamBlock* pb)        /* the complete parameter block passed by pro Fit */
  90. {}
  91.  
  92. void First (    ParamArray a,                /* the new parameters */
  93.                 ExtModulesParamBlock* pb)    /* the complete parameter block passed by pro Fit */
  94. {}
  95.  
  96. void Last (ExtModulesParamBlock* pb)
  97. {}